开源与闭源的 5 个最大区别

d28dd2b8c63b721d226f7604fbf8274b.gif

转载自|TARS 基金会
作者 | Isabella Ferreira

开源软件是指公开可用的计算机源代码,其特性允许任何人都可以查看、修改和分发开源代码。其中,开源社区使用分散和协作的方式进行开源软件的开发。

因此,与单个公司或个人开发的软件相比,开源软件更便宜、更灵活。如今,开源软件已被公司和个人用户广泛使用,每年都会创建数千个新的开源项目。

在本文中,我们将讨论开源开发模式、自由、闭源和开源软件之间的区别,以及开源社区中的趋势。

什么是开源模式

开源社区有着一套用于开发开源软件项目的过程,也被称为开源开发模型[6]。首先,该过程是由一个新想法开始的,可以是一个新项目、新特性或是对现有项目的提升。然后,基于这个被提议的功能,社区里志愿的开发人员完成相关开发并创建一个对现有项目的合并请求。

接着,社区中更有经验的人(通常是维护者或审查者)将审查被提交的代码更改并决定是否应将其合并到代码的主要版本中。审阅者/维护者也可能要求作出一定的修改。由社区决定在软件发布中包含该提议功能后,当前版本将作为一个开发版本来发布,即使它可能包含已知和未知的 bugs。

然后,该软件将由社区进行测试,社区通过邮件列表或其他讨论渠道(例如Slack)讨论该软件,并提供反馈、创建错误报告或提交对遇到的错误的修复。项目成员和维护人员会记录并考虑社区反馈并改进实施,然后将提供新的开发版本。

这个反馈循环一般需要发生多次,直到项目成员认为软件的执行足够稳定。当该执行能够作为稳定版本发布时,开发周期会随着开发版本(也称为开发树)继续进行,直到有更新的稳定版本可用。此外,开源软件是在开源许可下发布的,因此任何人都可以查看、修改和分发源代码。

目前大多数开源项目都托管在 GitHub 上,一个分布式版本控制和源代码管理平台。GitHub 还允许开源项目跟踪错误、功能请求、文档和任务。通过访问 GitHub,用户可以访问源代码存储库,还可以通过开发新代码、修复错误或编写文档等方式为开源项目做出贡献。著名的开源项目有 Linux、 Kubernetes 和 TARS。

如今,开源软件的使用比以往任何时候都多。开源项目可能会捐赠给开源基金会,这些非营利组织旨在支持新的开源项目,整合相关的开源项目,为项目提供业界的认可,通过治理促进开源项目的发展,并尽量减少潜在失败的风险。一个很好的例子是 2018 年捐赠给 Linux 基金会的 TARS 项目。在 LF 和广大开源社区的支持下,TARS 项目在 2020 年发展成为 TARS 基金会。

自由、闭源和开源的区别

自由软件运动由 Richard Stallman 于 1983 年通过 GNU 项目发起。这个想法是用户应该可以自由地查看源代码、修改并重新分发它。相反,专有或闭源软件是只有所有者才有权访问源代码的软件。闭源的软件不能被外界合法更改或复制,通常付费用户才能使用该软件。

然而,自由软件长期以来被误解为人们认为自由软件意味着免费拥有它,也就是无需付费购买。事实并非如此!自由软件意味着开发者能够以自己想要的方式使用软件。

为了解决这个误解,自由软件被开源取代,开源是一个专注于源代码的术语。开源一词是由 Christine Peterson 创造的,他在一个致力于使开发模型更广泛的工作组中提出了用开源软件替换自由软件的想法。该小组希望每个人都知道软件在共享、协作和开放时会更好发展,能够变得更灵活、更便宜,并且没有供应商锁定。

1997 年,作为该工作组成员之一的 Eric Raymond 发表了著名的论文《大教堂与集市》 ,介绍了如何创建优秀的开源软件。到 1998 年,开源计划(OSI) 被创建并正式定义了开源术语及其定义。

开源与闭源的 5 个区别


在选择开源或是闭源软件时,考虑它们的特点是很有必要的,我们在下面列出了前 5 个差异[3]:

1、价格:开源是没有许可或使用费,而闭源的使用成本会取决于软件的规模等。

2、自由定制:开源是完全可定制的,但具体取决于开源许可证。然而,在封闭源代码中,用户需要向销售软件的公司请求更改。

3、支持:流行的开源软件(如 Red Hat)有很多支持。除此之外,用户可以在用户论坛和邮件列表上找到社区的帮助。在闭源代码中,通常有一个专门的支持团队,支持取决于服务水平协议 (Service-level agreement; SLA)。

4、安全性:开源软件有一个完整的社区来审查代码,这使得错误很快被发现并改正。在闭源代码中,软件分销商负责修复发现的错误。

5、供应商锁定:开源没有供应商锁定。然而,在闭源代码中,使用专有软件要求大量投资,因此更换到不同的供应商可能会花费很多钱。

谁在为开源做贡献

与闭源软件相比,开源具有许多优势也被更广泛地使用。根据 2021 年  Octoverse 报告,2021 年有 7300 万以上的开发者使用了 GitHub 平台,其中 1600 万以上是新用户。

图 1 显示了每个国家的项目数量。在 2017 年 11 月,在 Mombach 等作者进行的一项关于 5,388 个项目地分析中呈现这些项目分布在超过 77 个国家。

这些年来,中国的项目一直在显着增长。从 2012 年到 2018 年,Linux 基金会的中国会员增加了 400% 以上 [4]。此外,中国公司现在在云原生计算基金会托管的项目的贡献排名第三,仅次于美国和德国。作为中国项目成长的一个例子, TARS 过去一年贡献者数量增加了 13%,提交数量增加了 34.23%。

2675910bdcece7bd7ced1f88b2e6a335.png
图 1:每个国家/地区的 GitHub 项目数量 [1]

同样,2021 年 GitHub 上的大多数活跃用户来自北美和亚洲(见图 2)。虽然北美的活跃用户数量与 2020 年相比下降了 2.3%,但亚洲的活跃用户数量增加了 0.3%。

关于 GitHub 用户,94% 的开源用户是男性,只有 6% 的开源贡献者是女性。根据一项开源调查 [5],与男性相比,为开源做出贡献的女性人数非常少,因为女性更有可能遇到让她们感到不受欢迎的语言或内容以及刻板印象。此外,女性也比男性更有可能向她们认识的人寻求帮助,而不是在公共论坛或渠道(如在开源软件中)寻求帮助。

0977e0f3cb62dab39791ca3118f659e8.png
图 2:活跃用户的地理分布,来自 2021 年 GitHub Octoverse 报告

除了活跃用户数量众多,许多公司也为开源做出了贡献。根据开源指数(open source index),截至 2022 年 1 月,谷歌、微软和红帽是拥有员工为开源做出贡献的前 3 名组织(详见下图)。

96742422377f3cf83dd4969ddf81474c.png
图 3:组织按员工年初至今在 GitHub 上的开源贡献量排名,摘自 Open Source Index。

总结

开源软件比闭源软件有很多优势,其中包含的层面有价格、自由定制、技术支持、安全性以及供应商锁定。此外,美国和中国是 2021 年开源的主要贡献者,尤其中国项目一直在增长,而且中国开发者将成为国际开源软件组织的重要力量之一。  

文献参考
[1]Mombach, Thais, et al. “Open source development around the world: A comparative study.” arXiv preprint arXiv:1805.01342 (2018).
[2]https://medium.com/intuit-engine‍ering/open-source-where-are-the-women-ae20623529ca
[3]https://www.synopsys.com/glossary/what-is-open-source-software.html
[4]https://merics.org/en/short-analysis/china-bets-open-source-technologies-boost-domestic-innovation
[5]https://www.toptal.com/open-source/is-open-source-open-to-women
[6]http://aaaea.org/Al-muhandes/2008/February/open_src_dev_model.htm


腾源会是腾讯云成立的汇聚开源项目、开源爱好者、开源领导者的开放社区,致力于帮助开源项目健康成长、开源爱好者能交流协助、开源领导者能发挥领袖价值,让全球开源生态变得更加繁荣。

8567dca6da40bccaec793a38c0721881.png

欢迎关注「腾源会」公众号,期待你的「在看」👇

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
此版本修复了大量的BUG 修复了部分服务器无法登陆问题 修复了不兼容Nginx服务器,1.1版本Dream系统在IIS、Apache、Nginx下完美运行新增了后台直接修改权限控制文件 新增了站内信息提醒功能 修复了部分浏览器显示不正常 由于Nginx服务器不支持PATH_INFO模式,在1.0版本中,会出现系统无法登陆现象,使用Nginx服务器时,请将\Sys\ThinkPHP\Conf\convention.php中的 'URL_MODEL'设置成0,这样就可以正常运行了。1.1系统默认是用PATH_INFO模式,请手动修改。 版本信息 版本号:2.0 又名:权限控制系统、权限管理框架 程序语言:PHP MySQL 运行**台:Window/Linux/Mac 开源协议:GPL 程序类型:Web应用 系统内核:ThinkPHP 前段框架:EasyUI 开源协议 您在下载本系统,您将在GPL开源协议下使用本程序 1、您只可以下载本程序自用,不能复制程序副本用于销售。 2、您在本程序的基础上二次开发的程序时,程序将自动使用GPL开源协议,您在网上发布的程序一定是开源的(如需闭源销售您的程序,一定要获得相应的授权)。 以前做web应用,每次开发新项目都要重新搭建框架、重复的去做用户管理、系统管理、权限管理等页面,耗时间、耗人力、成本高。 现在做web应用,上面的事您都不用重复做了,您只要做的就是,专心开发您的项目,精力集中做有价值的事。 1、易扩展菜单及联动选项采用后台动态添加设计,扩展简单方便 2、易使用基于ThinkPHP Easyui开发,无需重复学**框架知识 3、高效率采用JSON数据与数据缓存方式,大大提高了数据的加载速度 4、稳定性经过大数据测试后,依然稳定运行,系统错误率低 5、安全性权限控制采用后台控制与配置文件控制相结合,双重控制更安全;能精确到用户的增删改查操作 Winner权限管理系统(又称:胜利者权限管理系统)是一款基于PHP Mysql开发的web基础系统,系统内置用户管理、组别管理、部门管理,同时系统还能动态开启子公司,当您的公司有多家分公司时,这个功能可方便您的操作。 系统设计大部分采用动态修改模式,左侧菜单栏、联动数据、系统参数配置等都是采用后台添加修改,使用方便简单。 内置了6套皮肤切换,邮件发送等功能,您无需再重新开发这些附加功能。数据加载基本采用json数据流,让系统更高效更稳定。 Winner后端采用了ThinkPHP,前端采用EasyUI库等主流框架开发而成,中文api说明文档详细。让开发者上手迅速,使用起来得心应手,从而最大程度的缩短开发周期,降低开发成本。 入门说明 在二次开发Winner权限管理系统之前,您要先学**,Thinkphp框架、EasyUI前端框架、Winner使用说明,如果您不了解这些,您将很难对系统进行开发。各个框架使用API文档在“API文档”栏目都里能找到。
以前做web应用,每次开发新项目都要重新搭建框架、重复的去做用户管理、系统管理、权限管理等页面,耗时间、耗人力、成本高。   现在做web应用,上面的事您都不用重复做了,您只要做的就是,专心开发您的项目,精力集中做有价值的事。 1、易扩展菜单及联动选项采用后台动态添加设计,扩展简单方便 2、易使用基于ThinkPHP Easyui开发,无需重复学习框架知识 3、高效率采用JSON数据与数据缓存方式,大大提高了数据的加载速度 4、稳定性经过大数据测试后,依然稳定运行,系统错误率低 5、安全性权限控制采用后台控制与配置文件控制相结合,双重控制更安全;能精确到用户的增删改查操作   Winner权限管理系统(又称:胜利者权限管理系统)是一款基于PHP Mysql开发的web基础系统,系统内置用户管理、组别管理、部门管理,同时系统还能动态开启子公司,当您的公司有多家分公司时,这个功能可方便您的操作。 系统设计大部分采用动态修改模式,左侧菜单栏、联动数据、系统参数配置等都是采用后台添加修改,使用方便简单。 内置了6套皮肤切换,邮件发送等功能,您无需再重新开发这些附加功能。数据加载基本采用json数据流,让系统更高效更稳定。 Winner后端采用了ThinkPHP,前端采用EasyUI库等主流框架开发而成,中文api说明文档详细。让开发者上手迅速,使用起来得心应手,从而最大程度的缩短开发周期,降低开发成本。   入门说明 在二次开发Winner权限管理系统之前,您要先学习,Thinkphp框架、EasyUI前端框架、Winner使用说明,如果您不了解这些,您将很难对系统进行开发。各个框架使用API文档在“API文档”栏目都里能找到。  版本描述 此版本修复了大量的BUG 修复了部分服务器无法登陆问题 修复了不兼容Nginx服务器,1.1版本Dream系统在IIS、Apache、Nginx下完美运行新增了后台直接修改权限控制文件 新增了站内信息提醒功能 修复了部分浏览器显示不正常 由于Nginx服务器不支持PATH_INFO模式,在1.0版本中,会出现系统无法登陆现象,使用Nginx服务器时,请将\Sys\ThinkPHP\Conf\convention.php中的 'URL_MODEL'设置成0,这样就可以正常运行了。1.1系统默认是用PATH_INFO模式,请手动修改。 版本信息 版本号:2.0 又名:权限控制系统、权限管理框架 程序语言:PHP MySQL 运行平台:Window/Linux/Mac 开源协议:GPL 程序类型:Web应用 系统内核:ThinkPHP 前段框架:EasyUI 开源协议 您在下载本系统,您将在GPL开源协议下使用本程序 1、您只可以下载本程序自用,不能复制程序副本用于销售。 2、您在本程序的基础上二次开发的程序时,程序将自动使用GPL开源协议,您在网上发布的程序一定是开源的(如需闭源销售您的程序,一定要获得相应的授权)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值